home *** CD-ROM | disk | FTP | other *** search
/ Apple II Magazines (DO) / Softdisk Magazette Volume 1, No. 07 (1982-03)(Softdisk)(Side B).zip / Softdisk Magazette Volume 1, No. 07 (1982-03)(Softdisk)(Side B).do / METRIC.MAGIC.bas < prev    next >
BASIC Source File  |  1996-12-24  |  25KB  |  549 lines

  1. 10  REM     ********************
  2. 20  REM     *** METRIC.MAGIC ***
  3. 30  REM     ********************
  4. 40  REM     --------------------
  5. 50  REM     DOCUMENTATION.MODULE
  6. 60  REM     --------------------
  7. 70  REM       X$=CHANGE SCREEN
  8. 80  REM       Y =MENU SELECTION
  9. 90  REM       N =UNIT ID NUMBER
  10. 100  REM      I =INPUT VALUE
  11. 110  REM      R =CONVERTED VALUE
  12. 120  REM    A(N)=AREA DATA TABLE
  13. 130  REM    L(N)=LEN.DATA TABLE
  14. 140  REM    V(N)=VOL.DATA TABLE
  15. 150  REM    NO TEMP. DATA TABLE
  16. 160  REM    W(N)=WHT.DATA TABLE
  17. 170  REM    K(N)=KIT.DATA TABLE
  18. 180  REM     -------------------
  19. 190  REM     HOUSEKEEPING.MODULE
  20. 200  REM     -------------------
  21. 210  DIM A(18): REM  AREA FACTOR
  22. 220  DIM L(20): REM  LEN.FACTOR
  23. 230  DIM V(38): REM  VOL.FACTOR
  24. 240  REM  TEMPERATURE NO DIM
  25. 250  DIM W(18): REM  WHT.FACTOR
  26. 260  DIM K(18): REM  KIT.FACTOR
  27. 270  REM  ----------------------
  28. 280  REM  ACKNOWLEDGEMENT.MODULE
  29. 290  REM  ----------------------
  30. 300  REM                          ONE OF THE PROGRAMMING      METHODS USED HAS BEEN       ADAPTED AND MODIFIED FROM   A PROGRAM IN "SOME COMMON   BASIC PROGRAMS",POOLE &     BORCHERS,1978. . . . . . 
  31. 310  REM  PERMISSION FOR USE BY PUBLISHER: ADAM OSBORNE     ASSOC.,BERKLEY,CA. . . . .
  32. 320  REM  ORIGINALLY PREPARED BY          MAX J. NAREFF           SAN FRANCISCO,CA. 1979
  33. 330  REM  INTEGRATED,STRUCTURED,      UPDATED AND EDITED BY          THOMAS R. PIPER          CENTERVILLE,IOWA,1982
  34. 340  REM     ----------------
  35. 350  REM     EXECUTIVE.MODULE
  36. 360  REM     ----------------
  37. 370  REM   M.M.INSTRUCTIONS
  38. 380  GOSUB 500
  39. 390  REM   METRIC.MAGIC.MENU
  40. 400  GOSUB 740
  41. 410  REM   AREA,LENGTH,VOLUME,
  42. 420  REM   TEMPERATURE,WEIGHT,
  43. 430  REM   KITCHEN,END:MODULES
  44. 440  ON Y GOSUB 1000,2000,3000,4000,5000,6000,8000
  45. 450  REM   ANOTHER CONVERSION?
  46. 460  GOSUB 7000
  47. 470  REM   -CLOSING STATEMENT-
  48. 480  GOSUB 8000
  49. 490  END 
  50. 500  REM  ----------------------
  51. 510  REM  M.M.INSTRUCTION.MODULE
  52. 520  REM  ----------------------
  53. 530  HOME : PRINT 
  54. 540  INVERSE : HTAB 14: PRINT "INTRODUCTION"
  55. 550  HTAB 14: PRINT "------------": NORMAL 
  56. 560  HTAB 5: PRINT "THIS IS A SERIES OF PROGRAMS FOR"
  57. 570  PRINT "THE CONVERSION OF MEASUREMENTS TO AND"
  58. 580  PRINT "FROM THE METRIC SYSTEM WHICH WILL BE"
  59. 590  PRINT "INVOLVING UNITS OF AREA,LENGTH,WEIGHT,"
  60. 600  PRINT "VOLUME,TEMPERATURE AND A COMPILATION"
  61. 610  PRINT "OF MEASUREMENTS FOR KITCHEN USE."
  62. 620  PRINT : PRINT : INVERSE : HTAB 8: PRINT "HOW THE PROGRAM OPERATES"
  63. 630  HTAB 8: PRINT "------------------------": NORMAL 
  64. 640  HTAB 5: PRINT "FIRST, A MENU WILL APPEAR."
  65. 650  PRINT "AFTER SELECTING A TYPE OF CONVERSION,"
  66. 660  PRINT "THE INDEX OF YOUR CHOICE WILL APPEAR"
  67. 670  PRINT "ON THE NEXT PAGE AS A LIST OF MEASURE-"
  68. 680  PRINT "MENTS.NOTE THE INDEX NUMBER AND ENTER"
  69. 690  PRINT "ON REQUEST.YOU WILL THEN BE ASKED FOR"
  70. 700  PRINT "THE VALUE TO BE CONVERTED."
  71. 710  PRINT 
  72. 720  VTAB 24: HTAB 6: PRINT "*** PRESS RETURN FOR MENU ***";: GET X$: HOME 
  73. 730  RETURN 
  74. 740  REM     -----------------
  75. 750  REM     METRIC.MAGIC.MENU
  76. 760  REM     -----------------
  77. 770  HOME 
  78. 780  VTAB 7: HTAB 11: PRINT "METRIC.MAGIC.MENU"
  79. 790  HTAB 11: PRINT "-----------------": PRINT 
  80. 800  HTAB 12: PRINT "(1) AREA"
  81. 810  HTAB 12: PRINT "(2) LENGTH"
  82. 820  HTAB 12: PRINT "(3) VOLUME"
  83. 830  HTAB 12: PRINT "(4) TEMPERATURE"
  84. 840  HTAB 12: PRINT "(5) WEIGHT"
  85. 850  HTAB 12: PRINT "(6) KITCHEN"
  86. 860  HTAB 12: PRINT "(7) END": PRINT : PRINT 
  87. 870  INVERSE 
  88. 880  HTAB 3: PRINT "ENTER TYPE OF CONVERSION NEEDED:";: GET Y
  89. 890  NORMAL 
  90. 900  RETURN 
  91. 1000  REM ----------------------
  92. 1010  REM AREA.CONVERSION.MODULE
  93. 1020  REM ----------------------
  94. 1030  REM  DATA TABLE FOR AREA
  95. 1040 A(1) = 2.59:A(2) = 259:A(3) = 2.6E +6:A(4) = 0.0041
  96. 1050 A(5) = 0.836:A(6) = 9.0E -8:A(7) = 0.093:A(8) = 6.45
  97. 1060 A(9) = 645.2:A(10) = 0.0016:A(11) = 0.155:A(12) = 10.76
  98. 1070 A(13) = 1.08E +7:A(14) = 1.196:A(15) = 247.1:A(16) = 3.86E -7
  99. 1080 A(17) = 0.0039:A(18) = 0.386
  100. 1090  REM  BLANK
  101. 1100  REM  BLANK
  102. 1110  REM  AREA MENU DISPLAY
  103. 1120  HOME 
  104. 1130  INVERSE : HTAB 9: PRINT "AREA:(U.S. TO METRIC)": NORMAL 
  105. 1140  HTAB 8: PRINT "(1)SQ.MILES-SQ.KILOMETERS"
  106. 1150  HTAB 8: PRINT "(2)SQ.MILES-HECTARES"
  107. 1160  HTAB 8: PRINT "(3)SQ.MILES-SQ.METERS"
  108. 1170  HTAB 8: PRINT "(4)ACRES-SQ.KILOMETERS"
  109. 1180  HTAB 8: PRINT "(5)SQ.YARDS-SQ.METERS"
  110. 1190  HTAB 8: PRINT "(6)SQ.FEET-SQ.KILOMETERS"
  111. 1200  HTAB 8: PRINT "(7)SQ.FEET-SQ.METERS"
  112. 1210  HTAB 8: PRINT "(8)SQ.INCHES-SQ.CENTIMETERS"
  113. 1220  HTAB 8: PRINT "(9)SQ.INCHES-SQ.MILLIMETERS"
  114. 1230  INVERSE : HTAB 9: PRINT "AREA:(METRIC TO U.S.)": NORMAL 
  115. 1240  HTAB 8: PRINT "(10)SQ.MILLIMETERS-SQ.INCHES"
  116. 1250  HTAB 8: PRINT "(11)SQ.CENTIMETERS-SQ.INCHES"
  117. 1260  HTAB 8: PRINT "(12)SQ.METERS-SQ.FEET"
  118. 1270  HTAB 8: PRINT "(13)SQ.KILOMETERS-SQ.FEET"
  119. 1280  HTAB 8: PRINT "(14)SQ.METERS-SQ.YARDS"
  120. 1290  HTAB 8: PRINT "(15)SQ.KILOMETERS-ACRES"
  121. 1300  HTAB 8: PRINT "(16)SQ.METERS-SQ.MILES"
  122. 1310  HTAB 8: PRINT "(17)HECTARES-SQ.MILES"
  123. 1320  HTAB 8: PRINT "(18)SQ.KILOMETERS-SQ.MILES"
  124. 1330  PRINT "*-------------------------------------*"
  125. 1340  HTAB 8: PRINT "(19)METRIC.MAGIC.MENU"
  126. 1350  HTAB 8: PRINT "(20)END OF PROGRAM"
  127. 1360  INVERSE : HTAB 3
  128. 1370  PRINT "ENTER UNIT IDENTIFICATION NUMBER:";
  129. 1380  INPUT N: NORMAL 
  130. 1390  IF N <1  OR N >20  THEN 1370
  131. 1400  IF N = 19  THEN 400
  132. 1410  IF N = 20  THEN 480
  133. 1420  PRINT "+-------------------------------------+"
  134. 1430  HTAB 7: PRINT "VALUE TO BE CONVERTED:";
  135. 1440  INPUT I
  136. 1450  REM  EQUATION FOR COMPUTATION
  137. 1460 R = I *A(N): REM  A(N) OBTAINED FROM DATA LOOP
  138. 1470  REM  DIRECT PROGRAM TO PROPER UNIT FOR PRINTOUT
  139. 1480  INVERSE 
  140. 1490  ON N GOSUB 1530,1540,1550,1560,1570,1580,1590,1600,1610,1620,1630,1640,1650,1660,1670,1680,1690,1700
  141. 1500  NORMAL 
  142. 1510  PRINT "+-------------------------------------+"
  143. 1520  RETURN 
  144. 1530  PRINT : HTAB 6: PRINT I;" SQ.MILES=";R;" SQ.KILOMETERS": RETURN 
  145. 1540  PRINT : HTAB 6: PRINT I;" SQ.MILES=";R;" HECTARES": RETURN 
  146. 1550  PRINT : HTAB 6: PRINT I;" SQ.MILES=";R;" SQ.METERS": RETURN 
  147. 1560  PRINT : HTAB 6: PRINT I;" ACRES=";R;" SQ.KILOMETERS": RETURN 
  148. 1570  PRINT : HTAB 6: PRINT I;" SQ.YARDS=";R;" SQ.METERS": RETURN 
  149. 1580  PRINT : HTAB 6: PRINT I;" SQ.FEET=";R;" SQ.KILOMETERS": RETURN 
  150. 1590  PRINT : HTAB 6: PRINT I;" SQ.FEET=";R;" METERS": RETURN 
  151. 1600  PRINT : HTAB 6: PRINT I;" SQ.INCHES=";R;" SQ.CENTIMETERS": RETURN 
  152. 1610  PRINT : HTAB 6: PRINT I;" SQ.INCHES=";R;" SQ.MILLIMETERS": RETURN 
  153. 1620  PRINT : HTAB 6: PRINT I;" SQ.MILLIMETERS=";R;" SQ.INCHES": RETURN 
  154. 1630  PRINT : HTAB 6: PRINT I;" SQ.CENTIMETERS=";R;" SQ.INCHES": RETURN 
  155. 1640  PRINT : HTAB 6: PRINT I;" SQ.METERS=";R;" SQ.FEET": RETURN 
  156. 1650  PRINT : HTAB 6: PRINT I;" SQ.KILOMETERS=";R;" SQ.FEET": RETURN 
  157. 1660  PRINT : HTAB 6: PRINT I;" SQ.METERS=";R;" SQ.YARDS": RETURN 
  158. 1670  PRINT : HTAB 6: PRINT I;" SQ.KILOMETERS=";R;" ACRES": RETURN 
  159. 1680  PRINT : HTAB 6: PRINT I;" SQ.METERS=";R;" SQ.MILES": RETURN 
  160. 1690  PRINT : HTAB 6: PRINT I;" HECTARES=";R;" SQ.MILES": RETURN 
  161. 1700  PRINT : HTAB 6: PRINT I;" SQ.KILOMETERS=";R;" SQ.MILES": RETURN 
  162. 1710  PRINT : HTAB 6: PRINT I;" SQ.METERS=";R;" SQ.MILES": RETURN 
  163. 2000  REM  ------------------
  164. 2010  REM  LENGTH.CONV.MODULE
  165. 2020  REM  ------------------
  166. 2030  REM  DATA TABLE FOR LENGTH
  167. 2040 L(1) = 1.609:L(2) = 1609.35:L(3) = 0.00091:L(4) = 0.9144
  168. 2050 L(5) = 0.00031:L(6) = 0.3048:L(7) = 30.48:L(8) = 0.0254
  169. 2060 L(9) = 2.54:L(10) = 25.4:L(11) = 0.6214:L(12) = 1093.6
  170. 2070 L(13) = 3280.8:L(14) = 0.0006:L(15) = 1.094:L(16) = 3.281
  171. 2080 L(17) = 39.37:L(18) = 0.0328:L(19) = 0.3937:L(20) = 0.0394
  172. 2090  REM  BLANK
  173. 2100  REM  BLANK
  174. 2110  REM  LENGTH MENU DISPLAY
  175. 2130  HOME 
  176. 2140  HTAB 8: PRINT "(1)MILES TO KILOMETERS"
  177. 2150  HTAB 8: PRINT "(2)MILES TO METERS"
  178. 2160  HTAB 8: PRINT "(3)YARDS TO KILOMETERS"
  179. 2170  HTAB 8: PRINT "(4)YARDS TO METERS"
  180. 2180  HTAB 8: PRINT "(5)FEET TO KILOMETERS"
  181. 2190  HTAB 8: PRINT "(6)FEET TO METERS"
  182. 2200  HTAB 8: PRINT "(7)FEET TO CENTIMETERS"
  183. 2210  HTAB 8: PRINT "(8)INCHES TO METERS"
  184. 2220  HTAB 8: PRINT "(9)INCHES TO CENTIMETERS"
  185. 2230  HTAB 8: PRINT "(10)INCHES TO MILLIMETERS"
  186. 2240  HTAB 8: PRINT "(11)KILOMETERS TO MILES"
  187. 2250  HTAB 8: PRINT "(12)KILOMETERS TO YARDS"
  188. 2260  HTAB 8: PRINT "(13)KILOMETERS TO FEET"
  189. 2270  HTAB 8: PRINT "(14)METERS TO MILES"
  190. 2280  HTAB 8: PRINT "(15)METERS TO YARDS"
  191. 2290  HTAB 8: PRINT "(16)METERS TO FEET"
  192. 2300  HTAB 8: PRINT "(17)METERS TO INCHES"
  193. 2310  HTAB 8: PRINT "(18)CENTIMETERS TO FEET"
  194. 2320  HTAB 8: PRINT "(19)CENTIMETERS TO INCHES"
  195. 2330  HTAB 8: PRINT "(20)MILLIMETERS TO INCHES"
  196. 2340  HTAB 8: PRINT "(21)METRIC.MAGIC.MENU"
  197. 2350  HTAB 8: PRINT "(22)END OF PROGRAM"
  198. 2360  PRINT "+-------------------------------------+"
  199. 2370  INVERSE : HTAB 3
  200. 2380  PRINT "ENTER UNIT IDENTIFICATION NUMBER:";: INPUT N
  201. 2390  NORMAL 
  202. 2400  IF N <1  OR N >22  THEN 2380
  203. 2410  IF N = 21  THEN 400
  204. 2420  IF N = 22  THEN 480
  205. 2430  PRINT "+-------------------------------------+"
  206. 2440  HTAB 7: PRINT "VALUE TO BE CONVERTED:";
  207. 2450  INPUT I
  208. 2460 R = I *L(N)
  209. 2470  INVERSE 
  210. 2480  ON N GOSUB 2520,2530,2540,2550,2560,2570,2580,2590,2600,2610,2620,2630,2640,2650,2660,2670,2680,2690,2700,2710
  211. 2490  NORMAL 
  212. 2500  PRINT "+-------------------------------------+"
  213. 2510  RETURN 
  214. 2520  PRINT : HTAB 6: PRINT I;" MILES=";R;"KILOMETERS": RETURN 
  215. 2530  PRINT : HTAB 6: PRINT I;" MILES=";R;" METERS": RETURN 
  216. 2540  PRINT : HTAB 6: PRINT I;" YARDS=";R;" KILOMETERS": RETURN 
  217. 2550  PRINT : HTAB 6: PRINT I;" YARDS=";R;" METERS": RETURN 
  218. 2560  PRINT : HTAB 6: PRINT I;" FEET=";R;"KILOMETERS": RETURN 
  219. 2570  PRINT : HTAB 6: PRINT I;" FEET=";R;" METERS": RETURN 
  220. 2580  PRINT : HTAB 6: PRINT I;" FEET=";R;" CENTIMETERS": RETURN 
  221. 2590  PRINT : HTAB 6: PRINT I;" INCHES=";R;" METERS": RETURN 
  222. 2600  PRINT : HTAB 6: PRINT I;" INCHES=";R;" CENTIMETERS": RETURN 
  223. 2610  PRINT : HTAB 6: PRINT I;" INCHES=";R;" MILLIMETERS": RETURN 
  224. 2620  PRINT : HTAB 6: PRINT I;" KILOMETERS=";R;" MILES": RETURN 
  225. 2630  PRINT : HTAB 6: PRINT I;" KILOMETERS=";R;" YARDS": RETURN 
  226. 2640  PRINT : HTAB 6: PRINT I;" KILOMETERS=";R;" FEET": RETURN 
  227. 2650  PRINT : HTAB 6: PRINT I;" METERS=";R;" MILES": RETURN 
  228. 2660  PRINT : HTAB 6: PRINT I;" METERS=";R;" YARDS": RETURN 
  229. 2670  PRINT : HTAB 6: PRINT I;" METERS=";R;" FEET": RETURN 
  230. 2680  PRINT : HTAB 6: PRINT I;" METERS=";R;" INCHES": RETURN 
  231. 2690  PRINT : HTAB 6: PRINT I;" CENTIMETERS=";R;" FEET": RETURN 
  232. 2700  PRINT : HTAB 6: PRINT I;" CENTIMETERS=";R;" INCHES": RETURN 
  233. 2710  PRINT : HTAB 6: PRINT I;" MILLIMETERS=";R;" INCHES": RETURN 
  234. 3000  REM  ------------------
  235. 3005  REM  VOLUME.CONV.MODULE
  236. 3010  REM  ------------------
  237. 3015  REM  DATA TABLE FOR VOLUME
  238. 3020 V(1) = 0.7645:V(2) = 0.0283:V(3) = 0.00002:V(4) = 0.0353
  239. 3025 V(5) = 0.0038:V(6) = 473.18:V(7) = 550.61:V(8) = 946.36
  240. 3030 V(9) = 1101.23:V(10) = 3785.43:V(11) = 29.574:V(12) = 0.4732
  241. 3035 V(13) = 0.5506:V(14) = 0.9463:V(15) = 1.1012:V(16) = 3.785
  242. 3040 V(17) = 29.57:V(18) = 473.167:V(19) = 946.33:V(20) = 1.308
  243. 3045 V(21) = 35.31:V(22) = 61023:V(23) = 28.38:V(24) = 264.17
  244. 3050 V(25) = 0.0021:V(26) = 0.0018:V(27) = 0.0011:V(28) = 0.0009:V(29) = 0.003:V(30) = 0.0338:V(31) = 2.114
  245. 3055 V(32) = 1.182:V(33) = 1.057:V(34) = 0.908:V(35) = 0.227:V(36) = 0.338:V(37) = 0.0021:V(38) = 0.0011
  246. 3060  REM  VOLUME MENU DISPLAY
  247. 3065  INVERSE : HOME 
  248. 3070  HTAB 5: PRINT "VOLUME-U.S.TO METRIC"
  249. 3075  NORMAL 
  250. 3080  PRINT "(1)CUBIC YARDS TO CUBIC METERS"
  251. 3085  PRINT "(2)CUBIC FEET TO CUBIC METERS"
  252. 3090  PRINT "(3)CUBIC INCHES TO CUBIC METERS"
  253. 3095  PRINT "(4)BUSHELS TO CUBIC METERS"
  254. 3100  PRINT "(5)GALLONS(LIQ)TO CUBIC METERS"
  255. 3105  PRINT "(6)PINTS(LIQ)TO CUBIC CENTIMETERS"
  256. 3110  PRINT "(7)PINTS(DRY)TO CUBIC CENTIMETERS"
  257. 3115  PRINT "(8)QUARTS(LIQ)TO CUBIC CENTIMETERS"
  258. 3120  PRINT "(9)QUARTS(DRY)TO CUBIC CENTIMETERS"
  259. 3125  PRINT "(10)GALLONS(LIQ)TO CUBIC CENTIMETERS"
  260. 3130  PRINT "(11)FLUID OUNCES TO CUBIC CENTIMETERS"
  261. 3135  PRINT "(12)PINTS(LIQ)TO LITERS"
  262. 3140  PRINT "(13)PINTS(DRY)TO LITERS"
  263. 3145  PRINT "(14)QUARTS(LIQ)TO LITERS"
  264. 3150  PRINT "(15)QUARTS(DRY)TO LITERS"
  265. 3155  PRINT "(16)GALLONS(LIQ)TO LITERS"
  266. 3160  PRINT "(17)FLUID OUNCES TO MILLILITERS"
  267. 3165  PRINT "(18)PINTS(LIQ)TO MILLILITERS"
  268. 3170  PRINT "(19)QUARTS(LIQ)TO MILLILITERS"
  269. 3175  PRINT "+------(PRESS '0' FOR NEXT LIST)------+"
  270. 3180  INVERSE : HTAB 3
  271. 3185  PRINT "ENTER UNIT IDENTIFICATION NUMBER:";
  272. 3190  INPUT N: NORMAL 
  273. 3195  IF N = 0  THEN 3205
  274. 3200  GOTO 3355
  275. 3205  HOME : INVERSE 
  276. 3210  HTAB 5: PRINT "VOLUME-METRIC TO U.S.": NORMAL 
  277. 3220  PRINT "(20)CUBIC METERS TO CUBIC YARDS"
  278. 3225  PRINT "(21)CUBIC METERS TO CUBIC FEET"
  279. 3230  PRINT "(22)CUBIC METERS TO CUBIC INCHES"
  280. 3235  PRINT "(23)CUBIC METERS TO BUSHELS"
  281. 3240  PRINT "(24)CUBIC METERS TO GALLONS(LIQ)"
  282. 3245  PRINT "(25)CUBIC CENTIMETERS TO PINTS(LIQ)"
  283. 3250  PRINT "(26)CUBIC CENTIMETERS TO PINTS(DRY)"
  284. 3255  PRINT "(27)CUBIC CENTIMETERS TO QUARTS(LIQ)"
  285. 3260  PRINT "(28)CUBIC CENTIMETERS TO QUARTS(LIQ)"
  286. 3265  PRINT "(29)CUBIC CENTIMETERS TO GALLONS(LIQ)"
  287. 3270  PRINT "(30)CUBIC CENTIMETERS TO FLUID OUNCES"
  288. 3275  PRINT "(31)LITERS TO  PINTS(LIQ)"
  289. 3280  PRINT "(32)LITERS TO PINTS(DRY)"
  290. 3285  PRINT "(33)LITERS TO QUARTS(LIQ)"
  291. 3290  PRINT "(34)LITERS TO QUARTS(DRY)"
  292. 3295  PRINT "(35)LITERS TO GALLONS(LIQ)"
  293. 3300  PRINT "(36)MILLILITERS TO FLUID OUNCES"
  294. 3305  PRINT "(37)MILLILITERS TO PINTS(LIQ)"
  295. 3310  PRINT "(38)MILLILITERS TO QUARTS(LIQ)"
  296. 3315  PRINT "(39)METRIC.MAGIC.MENU"
  297. 3320  PRINT "(40)END OF PROGRAM"
  298. 3325  PRINT "+----(PRESS '0' FOR PREVIOUS LIST)----+"
  299. 3330  INVERSE : HTAB 3
  300. 3335  PRINT "ENTER UNIT IDENTIFICATION NUMBER:";
  301. 3340  INPUT N: NORMAL 
  302. 3345  IF N = 0  THEN 3065
  303. 3350  IF N <1  OR N >40  THEN 3335
  304. 3355  IF N = 39  THEN 400
  305. 3360  IF N = 40  THEN 480
  306. 3365  PRINT "+-------------------------------------+"
  307. 3370  PRINT : HTAB 7: PRINT "VALUE TO BE CONVERTED:";
  308. 3375  INPUT I
  309. 3380 : REM EQUATION FOR CONVERSION OF INPUT VALUE
  310. 3385 R = I *V(N): REM  V(N) OBTAINED FROM ARRAY LOOP
  311. 3390  INVERSE 
  312. 3395  ON N GOSUB 3415,3420,3425,3430,3435,3440,3445,3450,3455,3460,3465,3470,3475,3480,3485,3490,3495,3500,3505,3510,3515,3520,3525,3530,3535,3540,3545,3550,3555,3560,3565,3570,3575,3580,3585,3590,3595,3600,11000,11050
  313. 3400  NORMAL 
  314. 3405  PRINT "+-------------------------------------+"
  315. 3410  RETURN 
  316. 3415  PRINT : HTAB 4: PRINT I;" CUBIC YARDS=";R;" CUBIC METERS": RETURN 
  317. 3420  PRINT : HTAB 4: PRINT I;" CUBIC FEET=";R;" CUBIC METERS": RETURN 
  318. 3425  PRINT : HTAB 4: PRINT I;" CUBIC INCHES=";R;" CUBIC METERS": RETURN 
  319. 3430  PRINT : HTAB 4: PRINT I;" BUSHELS=";R;" CUBIC METERS": RETURN 
  320. 3435  PRINT : HTAB 4: PRINT I;" GALLONS=";R;" CUBIC METERS": RETURN 
  321. 3440  PRINT : HTAB 2: PRINT I;" PINTS(LIQ)=";R;" CUBIC CENTIMETERS": RETURN 
  322. 3445  PRINT : HTAB 2: PRINT I;" PINTS(DRY)=";R;" CUBIC CENTIMETERS": RETURN 
  323. 3450  PRINT : HTAB 2: PRINT I;" QUARTS(LIQ)=";R;" CUBIC CENTIMETERS": RETURN 
  324. 3455  PRINT : HTAB 2: PRINT I;" QUARTS(DRY)=";R;" CUBIC CENTIMETERS": RETURN 
  325. 3460  PRINT : HTAB 4: PRINT I;" GALLONS=";R;" CUBIC CENTIMETERS": RETURN 
  326. 3465  PRINT : PRINT I;" FLUID OUNCES=";R;"CUBIC CENTIMETERS": RETURN 
  327. 3470  PRINT : HTAB 4: PRINT I;" PINTS(LIQ)=";R;" LITERS": RETURN 
  328. 3475  PRINT : HTAB 4: PRINT I;" PINTS(DRY)=";R;" LITERS": RETURN 
  329. 3480  PRINT : HTAB 4: PRINT I;" QUARTS(LIQ)=";R;" LITERS": RETURN 
  330. 3485  PRINT : HTAB 4: PRINT I;" QUARTS(DRY)=";R;" LITERS": RETURN 
  331. 3490  PRINT : HTAB 4: PRINT I;" GALLONS=";R;" LITERS": RETURN 
  332. 3495  PRINT : HTAB 4: PRINT I;" FLUID OUNCES=";R;" MILLILITERS": RETURN 
  333. 3500  PRINT : HTAB 4: PRINT I;" PINTS(LIQ)=";R;" MILLILITERS": RETURN 
  334. 3505  PRINT : HTAB 4: PRINT I;" QUARTS(LIQ)=";R;" MILLILITERS": RETURN 
  335. 3510  PRINT : HTAB 4: PRINT I;" CUBIC METERS=";R;" CUBIC YARDS": RETURN 
  336. 3515  PRINT : HTAB 4: PRINT I;" CUBIC METERS=";R;" CUBIC FEET": RETURN 
  337. 3520  PRINT : HTAB 4: PRINT I;" CUBIC METERS=";R;" CUBIC INCHES": RETURN 
  338. 3525  PRINT : HTAB 4: PRINT I;" CUBIC METERS=";R;" BUSHELS": RETURN 
  339. 3530  PRINT : HTAB 4: PRINT I;" CUBIC METERS=";R" GALLONS(LIQ)": RETURN 
  340. 3535  PRINT : HTAB 2: PRINT I;" CUBIC CENTIMETERS=";R;" PINTS(LIQ)": RETURN 
  341. 3540  PRINT : HTAB 2: PRINT I;" CUBIC CENTIMETERS=";R;" PINTS(DRY)": RETURN 
  342. 3545  PRINT : HTAB 2: PRINT I;" CUBIC CENTIMETERS=";R;" QUARTS(LIQ)": RETURN 
  343. 3550  PRINT : HTAB 2: PRINT I;" CUBIC CENTIMETERS=";R;" QUARTS(DRY)": RETURN 
  344. 3555  PRINT : HTAB 4: PRINT I;" CUBIC CENTIMETERS=";R;" GALLONS": RETURN 
  345. 3560  PRINT : HTAB 2: PRINT I;" CUBIC CENTIMETERS=";R;" FLUID OUNCES": RETURN 
  346. 3565  PRINT : HTAB 4: PRINT I;" LITERS=";R;" PINTS(LIQ)": RETURN 
  347. 3570  PRINT : HTAB 4: PRINT I;" LITERS=";R;" PINTS(DRY)": RETURN 
  348. 3575  PRINT : HTAB 4: PRINT I;" LITERS=";R;" QUARTS(LIQ)": RETURN 
  349. 3580  PRINT : HTAB 4: PRINT I;" LITERS=";R;" QUARTS(DRY)": RETURN 
  350. 3585  PRINT : HTAB 4: PRINT I;" LITERS=";R;" GALLONS(LIQ)": RETURN 
  351. 3590  PRINT : HTAB 4: PRINT I;" MILLILITERS=";R;" FLUID OUNCES": RETURN 
  352. 3595  PRINT : HTAB 4: PRINT I;" MILLILITERS=";R;" PINTS(LIQ)": RETURN 
  353. 3600  PRINT : HTAB 4: PRINT I;" MILLILITERS=";R;" QUARTS(LIQ)": RETURN 
  354. 4000  REM ----------------------
  355. 4010  REM TEMP.CONVERSION.MODULE
  356. 4020  REM ----------------------
  357. 4030  HOME : INVERSE 
  358. 4040  VTAB 6: HTAB 17: PRINT "INDEX"
  359. 4050  NORMAL 
  360. 4060  PRINT : PRINT  TAB( 10)"(1)FAHRENHEIT TO CELSIUS"
  361. 4070  PRINT : PRINT  TAB( 10)"(2)CELSIUS TO FAHRENHEIT"
  362. 4080  PRINT : PRINT  TAB( 10)"(3)METRIC.MAGIC.MENU"
  363. 4090  PRINT : PRINT  TAB( 10)"(4)END OF PROGRAM"
  364. 4100  PRINT "+-------------------------------------+"
  365. 4110  INVERSE 
  366. 4120  HTAB 3: PRINT "ENTER UNIT IDENTIFICATION NUMBER:";
  367. 4130  PRINT : GET N: NORMAL 
  368. 4140  IF N <1  OR N >4  THEN 4120
  369. 4150  ON N GOTO 4160,4240,400,480
  370. 4160  PRINT "+-------------------------------------+"
  371. 4170  PRINT "ENTER FAHRENHEIT VALUE:";
  372. 4180  INPUT I
  373. 4190 R = ( INT(100 *((I -32) *(5/9))))/100
  374. 4200  INVERSE 
  375. 4210  PRINT : PRINT I;" DEG.FAHRENHEIT = ";R;" DEG.CELSIUS"
  376. 4220  NORMAL 
  377. 4230  RETURN 
  378. 4240  PRINT "+-------------------------------------+"
  379. 4250  PRINT : PRINT  TAB( 6);"ENTER CELSIUS VALUE";
  380. 4260  INPUT I
  381. 4270 R = ( INT(100 *(((9/5) *I) +32)))/100
  382. 4280  INVERSE 
  383. 4290  PRINT : PRINT I;" DEG.CELSIUS = ";R;" DEG.FAHRENHEIT"
  384. 4300  NORMAL 
  385. 4310  RETURN 
  386. 5000  REM   ------------------
  387. 5010  REM   WEIGHT.CONV.MODULE
  388. 5020  REM   ------------------
  389. 5030  REM  DIM AT LINE 250
  390. 5040  REM  WEIGHT DATA TABLE
  391. 5050 W(1) = 28.35:W(2) = 0.0284:W(3) = 2835:W(4) = 64.80
  392. 5060 W(5) = 453.59:W(6) = 4536:W(7) = 4.5E -4:W(8) = 453
  393. 5070 W(9) = 0.9072:W(10) = 0.0353:W(11) = 0.0022:W(12) = 35.27
  394. 5080 W(13) = 2.205:W(14) = 1.102:W(15) = 2204.6:W(16) = 3.5E -5
  395. 5090 W(17) = 2.2E -6:W(18) = 0.0154
  396. 5100  REM  BLANK
  397. 5110  REM  WEIGHT MENU DISPLAY
  398. 5120  HOME 
  399. 5130  INVERSE : HTAB 8: PRINT "WEIGHT:(U.S. TO METRIC)": NORMAL 
  400. 5140  HTAB 8: PRINT "(1)OUNCES-GRAMS"
  401. 5150  HTAB 8: PRINT "(2)OUNCES-KILOGRAMS"
  402. 5160  HTAB 8: PRINT "(3)OUNCES-MILLIGRAMS"
  403. 5170  HTAB 8: PRINT "(4)GRAINS-MILLIGRAMS"
  404. 5180  HTAB 8: PRINT "(5)POUNDS-GRAMS"
  405. 5190  HTAB 8: PRINT "(6)POUNDS-KILOGRAMS"
  406. 5200  HTAB 8: PRINT "(7)POUNDS-METRIC TONS"
  407. 5210  HTAB 8: PRINT "(8)POUNDS-MILLIGRAMS"
  408. 5220  HTAB 8: PRINT "(9)TONS(SHORT)-METRIC TONS"
  409. 5230  INVERSE : HTAB 8: PRINT "WEIGHT:(METRIC TO U.S.)": NORMAL 
  410. 5240  HTAB 8: PRINT "(10)GRAMS-OUNCES"
  411. 5250  HTAB 8: PRINT "(11)GRAMS-POUNDS"
  412. 5260  HTAB 8: PRINT "(12)KILOGRAMS-OUNCES"
  413. 5270  HTAB 8: PRINT "(13)KILOGRAMS-POUNDS"
  414. 5280  HTAB 8: PRINT "(14)METRIC TONS-TONS(SHORT)"
  415. 5290  HTAB 8: PRINT "(15)METRIC TONS-POUNDS"
  416. 5300  HTAB 8: PRINT "(16)MILLIGRAMS-OUNCES"
  417. 5310  HTAB 8: PRINT "(17)MILLIGRAMS-POUNDS"
  418. 5320  HTAB 8: PRINT "(18)MILLIGRAMS-GRAINS"
  419. 5330  PRINT "+-------------------------------------+"
  420. 5340  HTAB 8: PRINT "(19)METRIC.MAGIC.MENU"
  421. 5350  HTAB 8: PRINT "(20)END OF PROGRAM"
  422. 5360  INVERSE : HTAB 3
  423. 5370  PRINT "ENTER UNIT IDENTIFICATION NUMBER:";
  424. 5380  INPUT N: NORMAL 
  425. 5390  IF N <1  OR N >20  THEN 5370
  426. 5400  IF N = 19  THEN 400
  427. 5410  IF N = 20  THEN 480
  428. 5420  PRINT "+-------------------------------------+"
  429. 5430  HTAB 7: PRINT "VALUE TO BE CONVERTED:";
  430. 5440  INPUT I
  431. 5450  REM  EQUATION FOR CONVERSION
  432. 5460 R = I *W(N): REM  ENTERS FACTOR AND COMPUTES
  433. 5470  REM  DIRECTS PROGRAM FOR UNIT COMPUTATION AND DISPLAY
  434. 5480  INVERSE 
  435. 5490  ON N GOSUB 5530,5540,5550,5560,5570,5580,5590,5600,5610,5620,5630,5640,5650,5660,5670,5680,5690,5700
  436. 5500  NORMAL 
  437. 5510  PRINT "+-------------------------------------+"
  438. 5520  RETURN 
  439. 5530  PRINT : HTAB 6: PRINT I;" OUNCES=";R;" GRAMS": RETURN 
  440. 5540  PRINT : HTAB 6: PRINT I;" OUNCES=";R;" KILOGRAMS": RETURN 
  441. 5550  PRINT : HTAB 6: PRINT I;" OUNCES=";R;" MILLIGRAMS": RETURN 
  442. 5560  PRINT : HTAB 6: PRINT I;" GRAINS=";R;" MILLIGRAMS": RETURN 
  443. 5570  PRINT : HTAB 6: PRINT I;" POUNDS=";R;" GRAMS": RETURN 
  444. 5580  PRINT : HTAB 6: PRINT I;" POUNDS=";R;" KILOGRAMS": RETURN 
  445. 5590  PRINT : HTAB 6: PRINT I;" POUNDS=";R;" METRIC TONS": RETURN 
  446. 5600  PRINT : HTAB 6: PRINT I;" POUNDS=";R;" MILLIGRAMS": RETURN 
  447. 5610  PRINT : HTAB 6: PRINT I;" TONS(SHORT)=";R;" METRIC TONS": RETURN 
  448. 5620  PRINT : HTAB 6: PRINT I;" GRAMS=";R;" OUNCES": RETURN 
  449. 5630  PRINT : HTAB 6: PRINT I;" GRAMS=";R;" POUNDS": RETURN 
  450. 5640  PRINT : HTAB 6: PRINT I;" KILOGRAMS=";R;" OUNCES": RETURN 
  451. 5650  PRINT : HTAB 6: PRINT I;" KILOGRAMS=";R;" POUNDS": RETURN 
  452. 5660  PRINT : HTAB 6: PRINT I;" METRIC TONS=";R;" TONS(SHORT)": RETURN 
  453. 5670  PRINT : HTAB 6: PRINT I;" METRIC TONS=";R;" POUNDS": RETURN 
  454. 5680  PRINT : HTAB 6: PRINT I;" MILLIGRAMS=";R;" OUNCES": RETURN 
  455. 5690  PRINT : HTAB 6: PRINT I;" MILLIGRAMS=";R;" POUNDS": RETURN 
  456. 5700  PRINT : HTAB 6: PRINT I;" MILLIGRAMS=";R;" GRAINS": RETURN 
  457. 6000  REM  -------------------
  458. 6010  REM  KITCHEN.CONV.MODULE
  459. 6020  REM  -------------------
  460. 6030  REM  DATA TABLE FOR KITCHEN
  461. 6040 K(1) = 5:K(2) = 15:K(3) = 29.57:K(4) = 236
  462. 6050 K(5) = 473.17:K(6) = 946.36:K(7) = 3.785:K(8) = 0.227
  463. 6060 K(9) = 28.35:K(10) = 0.4536:K(11) = 2.205:K(12) = 2.54
  464. 6070 K(13) = 0.3937:K(14) = 6.452:K(15) = 929.03:K(16) = 8361.3
  465. 6080  REM  BLANK
  466. 6090  REM  BLANK
  467. 6100  REM  BLANK
  468. 6110  REM  KITCHEN MENU DISPLAY
  469. 6120  HOME 
  470. 6130  INVERSE : HTAB 12: PRINT "KITCHEN-AID METRICS": NORMAL 
  471. 6140  HTAB 8: PRINT "(1)TEASPOONS TO MILLILITERS"
  472. 6150  HTAB 8: PRINT "(2)TABLESPOONS TO MILLILITERS"
  473. 6160  HTAB 8: PRINT "(3)OUNCES(LIQ) TO MILLILITERS"
  474. 6170  HTAB 8: PRINT "(4)CUPS TO MILLILITERS"
  475. 6180  HTAB 8: PRINT "(5)PINTS TO MILLILITERS"
  476. 6190  HTAB 8: PRINT "(6)QUARTS TO CUBIC CENTIMETERS"
  477. 6200  HTAB 8: PRINT "(7)GALLONS TO LITERS"
  478. 6210  HTAB 8: PRINT "(8)LITERS TO GALLONS"
  479. 6220  HTAB 8: PRINT "(9)OUNCES(DRY) TO GRAMS"
  480. 6230  HTAB 8: PRINT "(10)POUNDS TO KILOGRAMS"
  481. 6240  HTAB 8: PRINT "(11)KILOGRAMS TO POUNDS"
  482. 6250  HTAB 8: PRINT "(12)INCHES TO CENTIMETERS"
  483. 6260  HTAB 8: PRINT "(13)CENTIMETERS TO INCHES"
  484. 6270  HTAB 8: PRINT "(14)SQ.INCHES TO SQ.CENTIMETERS"
  485. 6280  HTAB 8: PRINT "(15)SQ.FEET TO SQ.CENTIMETERS"
  486. 6290  HTAB 8: PRINT "(16)SQ.YARDS TO SQ.CENTIMETERS"
  487. 6300  HTAB 8: PRINT "(17)FAHRENHEIT TO CELSIUS"
  488. 6310  HTAB 8: PRINT "(18)CELSIUS TO FAHRENHEIT"
  489. 6320  HTAB 8: PRINT "(19)METRIC.MAGIC.MENU"
  490. 6330  HTAB 8: PRINT "(20)END OF PROGRAM"
  491. 6340  PRINT "+-------------------------------------+"
  492. 6350 : REM  TO RETURN TO INDEX OF MEASUREMENTS
  493. 6360  INVERSE : HTAB 3
  494. 6370  PRINT "ENTER UNIT IDENTIFICATION NUMBER:";
  495. 6380  INPUT N: NORMAL 
  496. 6390  IF N <1  OR N >20  THEN 6370
  497. 6400  IF N = 19  THEN 400
  498. 6410  IF N = 20  THEN 480
  499. 6420  HTAB 7: PRINT "VALUE TO BE CONVERTED:";
  500. 6430  INPUT I
  501. 6440  REM  EQUATION FOR CONVERSION OF INPUT VALUE FOR ANSWER
  502. 6450 R = I *K(N): REM  K(N) OBTAINED FROM DATA LOOP
  503. 6460  REM  DIRECT CALCULATION TO PROPER NAME FOR ANSWER DISPLAY
  504. 6470  INVERSE 
  505. 6480  ON N GOSUB 6510,6520,6530,6540,6550,6560,6570,6580,6590,6600,6610,6620,6630,6640,6650,6660,6670,6690
  506. 6490  NORMAL 
  507. 6500  RETURN 
  508. 6510  PRINT : HTAB 10: PRINT I;" TEASPOONS=";R;" MILLILITERS": RETURN 
  509. 6520  PRINT : HTAB 10: PRINT I;"TABLESPOONS=";R;" MILLILITERS": RETURN 
  510. 6530  PRINT : HTAB 10: PRINT I;" OUNCES(LIQ)=";R;" MILLILITERS": RETURN 
  511. 6540  PRINT : HTAB : PRINT I;" CUPS=";R;" MILLILITERS": RETURN 
  512. 6550  PRINT : HTAB 10: PRINT I;" PINTS=";R;" MILLILITERS": RETURN 
  513. 6560  PRINT : HTAB 5: PRINT I;" QUARTS=";R;"CUBIC CENTIMETERS": RETURN 
  514. 6570  PRINT : HTAB 10: PRINT I;" GALLONS=";R;" LITERS": RETURN 
  515. 6580  PRINT : HTAB 10: PRINT I;" LITERS=";R;" GALLONS": RETURN 
  516. 6590  PRINT : HTAB 10: PRINT I;" OUNCES(DRY)=";R;" GRAMS": RETURN 
  517. 6600  PRINT : HTAB 10: PRINT I;" POUNDS=";R;" KILOGRAMS": RETURN 
  518. 6610  PRINT : HTAB 10: PRINT I;" KILOGRAMS=";R;" POUNDS": RETURN 
  519. 6620  PRINT : HTAB 10: PRINT I;" INCHES=";R;" CENTIMETERS": RETURN 
  520. 6630  PRINT : HTAB 10: PRINT I;" CENTIMETERS=";R;" INCHES": RETURN 
  521. 6640  PRINT : HTAB 5: PRINT I;" SQ.INCHES=";R;" SQ.CENTIMETERS": RETURN 
  522. 6650  PRINT : HTAB 5: PRINT I;" SQ.FEET=";R;" SQ.CENTIMETERS": RETURN 
  523. 6660  PRINT : HTAB 5: PRINT I;" SQ.YARDS=";R;" SQ.CENTIMETERS": RETURN 
  524. 6670 R = ( INT(100 *((I -32) *(5/9))))/100
  525. 6680  PRINT : HTAB 5: PRINT I;" FAHRENHEIT=";R;" CELSIUS": RETURN 
  526. 6690 R = ( INT(100 *(((9/5) *I) +32)))/100
  527. 6700  PRINT : HTAB 5: PRINT I;" CELSIUS=";R;" FAHRENHEIT": RETURN 
  528. 7000  REM    -------------------
  529. 7010  REM    ANOTHER CONVERSION?
  530. 7020  REM    -------------------
  531. 7030  PRINT : PRINT 
  532. 7040  PRINT "WOULD YOU LIKE ANOTHER CONVERSION?";: GET X$
  533. 7060  IF X$ = "Y"  THEN 410
  534. 7070  RETURN 
  535. 8000  REM     -----------------
  536. 8010  REM     CLOSING STATEMENT
  537. 8020  REM     -----------------
  538. 8030  HOME 
  539. 8040  FLASH 
  540. 8050  GOSUB 8090
  541. 8060  FOR N = 1 TO 2000: NEXT N
  542. 8070  GOSUB 8090
  543. 8080  GOTO 8140
  544. 8090  VTAB 11: HTAB 5
  545. 8100  PRINT "*** THIS IS THE END OF THE ***"
  546. 8110  HTAB 5
  547. 8120  PRINT "***  METRIC.MAGIC PROGRAM  ***"
  548. 8130  NORMAL : RETURN 
  549. 8140  END